# -*- coding:utf-8 -*-
# 私有权限
# 定义私有属性和方法
# 在Python中，可以为实例属性和⽅法设置私有权限，即设置某个实例属性或实例⽅法不继承给⼦类。
# 设置私有权限的⽅法：在属性名和⽅法名 前⾯ 加上两个下划线__
# 私有属性和私有⽅法只能在类⾥⾯访问和修改。
# 在Python中，⼀般定义函数名 get_xx ⽤来获取私有属性，定义 set_xx ⽤来修改私有属性值。
class Master(object):
    def __init__(self):
        self.skilledness = "python"
        self.__money = 100000               # 私有属性

    def teacher(self):
        print(f"老师的技能--{self.skilledness}")

    def get_teacher(self):       # 在类里获取私有属性
        return self.__money

    def set_teacher(self):       # 在类里修改私有属性
        self.__money = 100


class Student_Zhangsan(Master):
    def __init__(self):
        super().__init__()    # 与Master.__init__(self)等价
        print(self.skilledness)


func = Master()
print(func.get_teacher())
func.set_teacher()
print(func.get_teacher())
